آموزش جاوا مدرن - تسلط بر ویژگی‌های جاوا ۸ تا جاوا ۲۵ [ویدئویی] - آخرین آپدیت

دانلود Modern Java - Mastering Features from Java 8 to Java 25 [Video]

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره جامع شما را در سفری از مهم‌ترین ویژگی‌های جاوا، از عبارت‌های Lambda در جاوا ۸ تا پیشرفت‌های پیشرو در جاوا ۲۵ همراهی می‌کند. این دوره به گونه‌ای طراحی شده است تا درک عمیقی از جاوا مدرن، با شروع از مفاهیم بنیادی مانند برنامه‌نویسی امری (Imperative) در مقابل برنامه‌نویسی اظهاری (Declarative) به شما ارائه دهد. با پیشروی در دوره، بر ویژگی‌های ضروری مانند عبارت‌های لامبدا، اینترفیس‌های تابعی و استریم‌ها تسلط خواهید یافت که باعث بهینه‌سازی کد شما و خواناتر و مختصرتر شدن آن می‌شود. در طول این دوره، ابزارهای قدرتمندی که در نسخه‌های جدیدتر معرفی شده‌اند را بررسی خواهید کرد، از جمله سیستم ماژولار پلتفرم جاوا (JPMS) برای ماژولار کردن اپلیکیشن‌ها، و معرفی Recordها و Pattern Matching که مدیریت داده‌ها را ساده‌تر و شفافیت کد را بهبود می‌بخشند. شما نه تنها این ویژگی‌ها را درک می‌کنید، بلکه نحوه پیاده‌سازی آن‌ها را در سناریوهای واقعی از طریق آزمایشگاه‌های عملی و مثال‌ها خواهید آموخت. در پایان دوره، شما در استفاده از آخرین ویژگی‌های جاوا برای نوشتن کدی تمیزتر، کارآمدتر و قابل نگهداری مهارت خواهید یافت. چه یک توسعه‌دهنده باسابقه جاوا باشید و چه تازه وارد، این دوره به شما کمک می‌کند تا پتانسیل کامل جاوا از نسخه ۸ تا ۲۵ را آزاد کرده و برای چالش‌های توسعه نرم‌افزارهای مدرن آماده شوید. - تسلط بر عبارت‌های Lambda و اینترفیس‌های تابعی در جاوا - استفاده از Stream API برای پردازش و مدیریت بهینه داده‌ها - درک و به‌کارگیری سیستم ماژولار پلتفرم جاوا (JPMS) در برنامه‌های واقعی - کار با Recordها و Sealed Classها برای ساده‌سازی کدنویسی و طراحی - پیاده‌سازی Pattern Matching برای داشتن کدی تمیزتر و خواناتر - درک مزایای ویژگی‌های جدید زبان و استفاده از آن‌ها برای افزایش بهره‌وری این دوره برای توسعه‌دهندگانی طراحی شده است که با جاوا آشنا هستند و می‌خواهند دانش خود را به ویژگی‌های مدرن گسترش دهند. اگر با مبانی جاوا راحت هستید، این دوره به شما کمک می‌کند سطح مهارت‌های خود را ارتقا دهید. داشتن درک پایه از برنامه‌نویسی جاوا و اصول شی‌گرایی الزامی است. آشنایی با ویژگی‌های جاوا ۸ و نسخه‌های بالاتر مفید است اما اجباری نیست. - یادگیری تاثیرگذارترین ویژگی‌های جاوا ۸ تا ۲۵ * بررسی Lambda، Streams، Records و Pattern Matching * آزمایشگاه‌های عملی و مثال‌های واقعی برای یادگیری کاربردی

سرفصل ها و درس ها

شروع به کار Getting Started

  • معرفی دوره Course Introduction

  • پیش‌نیازها Pre-requisites

آشنایی با جاوا مدرن Getting Started Modern Java

  • مقدمه‌ای بر جاوا مدرن: نگاه کلی Introduction to Modern Java: Big Picture

راه‌اندازی محیط محلی Local Set Up

  • نصب جاوا Java Installation

چرا جاوا ۸؟ Why Java 8?

  • چرا جاوا ۸ مهم است؟ Why Java 8 Is Important?

  • برنامه‌نویسی امری در مقابل اظهاری - مثال ۱ Imperative vs. Declarative Programming - Example 1

  • برنامه‌نویسی امری در مقابل اظهاری - مثال ۲ Imperative vs. Declarative Programming - Example 2

مقدمه‌ای بر لامبدا (Lambda) Introduction to Lambda

  • لامبدا چیست؟ What Is Lambda?

  • آزمایشگاه: پیاده‌سازی Runnable با استفاده از لامبدا Lab: Implement Runnable Using Lambda

  • آزمایشگاه: پیاده‌سازی Comparator با استفاده از لامبدا Lab: Implement Comparator Using Lambda

لامبداها و اینترفیس‌های تابعی Lambdas and Functional Interfaces

  • مقدمه‌ای بر اینترفیس‌های تابعی Introduction to Functional Interfaces

  • آزمایشگاه: اینترفیس تابعی Consumer - بخش ۱ Lab: Consumer Functional Interface - Part 1

  • آزمایشگاه: اینترفیس تابعی Consumer - بخش ۲ Lab: Consumer Functional Interface - Part 2

  • آزمایشگاه: اینترفیس تابعی BiConsumer Lab: BiConsumer Functional Interface

  • آزمایشگاه: اینترفیس تابعی Predicate - بخش ۱ Lab: Predicate - Functional Interface - Part 1

  • آزمایشگاه: اینترفیس تابعی Predicate - بخش ۲ Lab: Predicate - Functional Interface - Part 2

  • آزمایشگاه: ترکیب Predicate و Consumer Lab: Combining Predicate + Consumer

  • آزمایشگاه: BiPredicate Lab: BiPredicate

  • آزمایشگاه: اینترفیس تابعی Function - بخش ۱ Lab: Function - Function Interface - Part 1

  • آزمایشگاه: اینترفیس تابعی Function - بخش ۲ Lab: Function - Function Interface - Part 2

  • آزمایشگاه: اینترفیس تابعی BiFunction Lab: BiFunction Functional Interface

  • آزمایشگاه: اینترفیس‌های تابعی UnaryOperator و BinaryOperator Lab: UnaryOperator and BinaryOperator Functional Interface

  • آزمایشگاه: اینترفیس تابعی Supplier Lab: Supplier - Functional Interface

ارجاعات سازنده و متد (Method References) Constructor and Method References

  • ارجاع متد (Method Reference) Method Reference

  • آزمایشگاه: ارجاع متد - Function Lab: Method Reference - Function

  • آزمایشگاه: ارجاع متد - Consumer Lab: Method Reference - Consumer

  • آزمایشگاه: تبدیل عبارت لامبدا به ارجاع متد Lab: Refactor Lambda Expression to Method Reference

  • ارجاع سازنده (Constructor Reference) Constructor Reference

لامبداها و متغیرهای محلی (Effectively Final) Lambdas and Local Variables (Effectively Final)

  • آزمایشگاه: متغیرهای محلی در عبارت لامبدا Lab: Local Variables in Lambda Expression

  • متغیرهای Effectively Final در لامبدا و مزایای آن Effectively Final Variables in Lambda and Its Advantages

رابط برنامه‌نویسی استریم‌ها (Streams API) Streams API

  • مقدمه‌ای بر استریم‌ها Introduction to Streams

  • رابط Stream API چگونه کار می‌کند؟ How Stream API Works?

  • مقایسه استریم‌ها در مقابل کالکشن‌ها Comparing Streams vs. Collections

  • آزمایشگاه: چگونه عملیات استریم را دیباگ کنیم؟ Lab: How to Debug Stream Operations?

عملیات Stream API Stream API - Operations

  • آزمایشگاه: عملیات استریم - map() Lab: Stream Operation - map()

  • آزمایشگاه: عملیات استریم - flatMap() Lab: Stream Operation - flatMap()

  • آزمایشگاه: عملیات استریم - distinct(), count(), sorted() Lab: Stream Operation - distinct(), count(), sorted()

  • آزمایشگاه: عملیات استریم - مرتب‌سازی سفارشی با Comparator Lab: Stream Operation - Customized Sort Using Comparator

  • آزمایشگاه: عملیات استریم - filter() Lab: Stream Operation - filter()

  • آزمایشگاه: عملیات استریم - reduce() - بخش ۱ Lab: Stream Operation - reduce() - Part 1

  • آزمایشگاه: عملیات استریم - reduce() - بخش ۲ Lab: Stream Operation - reduce() - Part 2

  • آزمایشگاه: عملیات استریم - الگوی Map + Filter + Reduce Lab: Stream Operations - Map + Filter + Reduce Pattern

  • آزمایشگاه: عملیات استریم - یافتن max با تابع reduce() Lab: Stream Operation: max Using reduce() Function

  • آزمایشگاه: عملیات استریم - یافتن min با تابع reduce() Lab: Stream Operation - min() Using Reduce Function

  • آزمایشگاه: عملیات استریم - limit() و skip() Lab: Stream Operation - limit() and skip()

  • آزمایشگاه: عملیات استریم - allMatch(), anyMatch() و noneMatch() Lab: Stream Operation allMatch(), anyMatch() and noneMatch()

  • آزمایشگاه: عملیات استریم - findAny() و findFirst() Lab: Stream Operation - findAny() and findFirst()

  • استریم‌ها: عملیات Short Circuiting Streams: Short Circuiting Operations

  • رابط Streams API - توابع Stateless در مقابل Stateful Streams API - Stateless vs. Stateful Functions

متدهای کارخانه‌ای Streams API Streams API - Factory Methods

  • آزمایشگاه: عملیات استریم - of(), iterate(), generate() Lab: Streams Operation - of(), iterate(), generate()

استریم‌های عددی در Streams API Streams API - Numeric Streams

  • مقدمه‌ای بر استریم‌های عددی Introduction to Numeric Streams

  • آزمایشگاه: NumericStream - range(), rangeClosed(), count(), foreach() Lab: NumericStream - range(), rangeClosed(), count(), foreach()

  • آزمایشگاه: NumericStream - sum(), max(), min(), average() Lab: NumericStream - sum(), max(), min(), average()

  • آزمایشگاه: NumericStream - Boxing, Unboxing, mapToInt() Lab: NumericStream - Boxing, Unboxing, mapToInt()

  • آزمایشگاه: NumericStream - mapToObj(), mapToDouble(), mapToLong() Lab: NumericStream - mapToObj(), mapToDouble(), mapToLong()

عملیات پایانی (Terminal Operations) در Streams API Streams API - Terminal Operations

  • آزمایشگاه: joining() Lab: joining()

  • آزمایشگاه: counting() Lab: counting()

  • آزمایشگاه: mapping() Lab: mapping()

  • آزمایشگاه: minBy(), maxBy() با استفاده از collect() Lab: minBy(), maxBy() Using collect()

  • آزمایشگاه: sum(), avg() با استفاده از collect() Lab: sum(), avg() Using collect()

  • آزمایشگاه: groupingBy() - نوع ۱ Lab: groupingBy() - Type 1

  • آزمایشگاه: groupingBy() - نوع ۲ Lab: groupingBy() - Type 2

  • آزمایشگاه: groupingBy() - نوع ۳ Lab: groupingBy() - Type 3

  • آزمایشگاه: groupingBy() - maxBy(), minBy(), collectingAndThen() Lab: groupingBy() - maxBy(), minBy(), collectingAndThen()

  • آزمایشگاه: partitioningBy() Lab: partitioningBy()

پردازش موازی در Streams API Streams API - Parallel Processing

  • مقدمه‌ای بر استریم‌های موازی (Parallel Streams) Introduction to Parallel Streams

  • آزمایشگاه: مقایسه عملکرد استریم‌های ترتیبی در مقابل موازی Lab: Comparing Performance of Sequential vs Parallel Streams

  • استریم موازی چگونه کار می‌کند؟ How Parallel Stream Works?

  • آزمایشگاه: ساخت یک خط لوله (Pipeline) استریم موازی Lab: Build a Parallel Stream Pipeline

  • آزمایشگاه: چه زمانی از استریم موازی استفاده نکنیم - مثال ۱ Lab: When Not to Use Parallel Stream - Example 1

  • آزمایشگاه: چه زمانی از استریم موازی استفاده نکنیم؟ - بخش ۲ Lab: When Not to Use Parallel Stream? - Part 2

کلاس Optional Optional

  • مقدمه‌ای بر Optional Introduction to Optional

  • آزمایشگاه: Optional - empty(), ofNullable(), Of() Lab: Optional: empty(), ofNullable(), Of()

  • آزمایشگاه: orElse(), orElseGet(), orElseThrow() Lab: orElse(), orElseGet(), orElseThrow()

  • آزمایشگاه: ifPresent(), isPresent() Lab: ifPresent(), isPresent()

  • آزمایشگاه: map(), flatMap(), filter() - بخش ۱ Lab: map(), flatMap(), filter() - Part 1

  • آزمایشگاه: map(), flatMap(), filter() - بخش ۲ Lab: map(), flatMap(), filter() - Part 2

متدهای Default و Static در اینترفیس‌ها Default/Static Methods in Interfaces

  • مقدمه‌ای بر متدهای Default و Static Introduction to Default/Static Methods

  • آزمایشگاه: متدهای Default Lab: Default Methods

  • آزمایشگاه: بررسی عملیات sort() با استفاده از Comparator - بخش ۱ Lab: Exploring sort() Operations Using Comparator - Part 1

  • آزمایشگاه: بررسی عملیات sort() با استفاده از Comparator - بخش ۲ Lab: Exploring sort() Operations Using Comparator - Part 2

  • آزمایشگاه: ایجاد یک اینترفیس با متدهای Default/Static Lab: Creating an Interface with Default/Static Methods

  • کلاس‌های انتزاعی در مقابل اینترفیس‌ها Abstract Classes vs. Interfaces

  • آزمایشگاه: وراثت چندگانه (Multiple Inheritance) Lab: Multiple Inheritance

  • آزمایشگاه: وراثت چندگانه - حل تداخلات Lab: Multiple Inheritance - Resolving Conflicts

رابط‌های جدید تاریخ و زمان (Date/Time APIs) New Date/Time APIs

  • مقدمه‌ای بر کتابخانه‌های جدید تاریخ و زمان Introduction to the New Date/Time Libraries

  • آزمایشگاه: LocalDate - ایجاد و دریافت مقادیر Lab: LocalDate - Create, Get the LocalDate Values

  • آزمایشگاه: LocalDate - تغییر مقادیر Lab: LocalDate - Modify the LocalDate

  • آزمایشگاه: LocalDate - توابع تکمیلی Lab: LocalDate - Additional LocalDate Functions

  • آزمایشگاه: LocalTime Lab: LocalTime

  • آزمایشگاه: LocalDateTime - ایجاد و تغییر Lab: LocalDateTime - Create/Modify LocalDateTime

  • آزمایشگاه: تبدیل LocalDate/LocalTime به LocalDateTime Lab: Converting from LocalDate/LocalTime to LocalDateTime

  • آزمایشگاه: مقایسه تاریخ‌ها - Period Lab: Comparing Dates - Period

  • آزمایشگاه: مقایسه زمان‌ها - Duration Lab: Comparing Times - Duration

  • آزمایشگاه: Instant Lab: Instant

  • آزمایشگاه: مناطق زمانی - ZonedDateTime, ZoneId, ZoneOffset Lab: TimeZones - ZonedDateTime, ZoneId, ZoneOffset

  • آزمایشگاه: مناطق زمانی - تبدیل Instant و LocalDateTime به ZonedDateTime Lab: TimeZones - Converting Instant, LocalDateTime to ZonedDateTime

  • آزمایشگاه: تبدیل java.util.Date و java.sql.Date به LocalDate Lab: Converting java.util.Date/java.sql.Date to LocalDate

  • آزمایشگاه: قالب‌بندی و تجزیه LocalDate با DateTimeFormatter Lab: Format/Parse LocalDate Using DateTimeFormatter

  • آزمایشگاه: قالب‌بندی و تجزیه LocalTime با DateTimeFormatter Lab: Format/Parse LocalTime Using DateTimeFormatter

  • آزمایشگاه: قالب‌بندی و تجزیه LocalDateTime با DateTimeFormatter Lab: Format/Parse LocalDateTime Using DateTimeFormatter

راه‌اندازی پروژه پایه برای بررسی ویژگی‌های جاوا ۹ و بالاتر Base Project Setup for Exploring Java 9 and Beyond Features

  • راه‌اندازی پروژه Project Set-Up

  • راه‌اندازی دستیار Copilot Set Up Copilot Assistant

تابع Main فشرده (Compact Main) Compact Main Function

  • ساده‌سازی متد Main با استفاده از Compact Main Simplifying the Main Method Using Compact Main

  • استفاده از Compact Main با GitHub Copilot Compact Main Using GitHub Copilot

استنتاج نوع متغیر محلی (LVTI) با استفاده از var Local Variable Type Inference (LVTI) Using var

  • استنتاج نوع متغیر محلی چیست؟ What Is Local Variable Type Inference?

  • محدودیت‌های استفاده از "var" Limitation of Using "var"

بلوک‌های متنی (Text Blocks) Text Blocks

  • TextBlocks - افزایش قدرت رشته‌ها (String) TextBlocks - Enhanced the Power of String

سوییچ بهبود یافته (Enhanced Switch) Enhanced Switch

  • Switch به عنوان یک عبارت (Expression) Switch - as an Expression

  • عبارت Switch چند خطی با استفاده از "yield" Multiline Switch Expression Using "yield"

  • جامع بودن (Exhaustive) در Switch بهبود یافته Enhanced Switch Are Exhaustive

رکوردها (Records) Records

  • کلاس‌های Record Records Classes

  • سازنده‌های سفارشی و اعتبارسنجی در کلاس‌های Record Custom Constructors and Validations in Record Classes

  • برابری اشیاء در کلاس‌های Record Object Equality in Record Classes

کلاس‌ها و اینترفیس‌های مهر و موم شده (Sealed) Sealed Classes/Interfaces

  • مقدمه‌ای بر کلاس‌ها و انواع مهر و موم شده (Sealed) Introduction to Sealed Classes/Types

  • زیرکلاس‌های Sealed Subclasses of Sealed Classes

  • استفاده از Sealed در کلاس‌های انتزاعی (Abstract) Using Sealed on "Abstract" Classes

  • استفاده از Sealed در اینترفیس‌ها Using Sealed on "Interfaces"

تطبیق الگو (Pattern Matching) Pattern Matching

  • مقدمه‌ای بر تطبیق الگو (Pattern Matching) Introduction to Pattern Matching

  • الگوهای Record - تطبیق الگو روی رکوردها Record Patterns - Pattern Matching on Records

  • الگوهای Guarded Guarded Patterns

متغیرهای بدون نام (Unnamed Variables) Unnamed Variables

  • متغیرهای بدون نام در جاوا: نادیده گرفتن تمیز با _ [کدنویسی AI] Unnamed Variables in Java: Clean Ignoring with _ [AI Coding]

  • استفاده از متغیرهای بدون نام همراه با Pattern Matching [تست‌نویسی با AI] Using Unnamed Variables Along with Pattern Matching [Write Tests Using AI]

اپلیکیشن CheckoutService (مورد استفاده واقعی) CheckoutService Application (Real Time Use Case)

  • مرور کلی اپلیکیشن Overview of the Application

  • پیاده‌سازی PaymentService با استفاده از Sealed Classes PaymentService Implementation Using Sealed Classes

تسلط بر Stream Gatherers در جاوا - عصر جدید پردازش استریم Mastering Stream Gatherers in Java — A New Era of Stream Processing

  • مقدمه‌ای بر Stream Gatherers Introduction to Stream Gatherers

  • Gatherers.windowFixed() [کدنویسی AI]  Gatherers.windowFixed() [AI Coding]

  • Gatherers.windowSliding() Gatherers.windowSliding()

  • Gatherers.fold() Gatherers.fold()

  • Gatherers.scan() Gatherers.scan()

  • Gatherers.mapConcurrent() Gatherers.mapConcurrent()

  • ترکیب Gathererها [کدنویسی AI] Combining Gatherers [AI Coding]

  • ساخت Gathererهای سفارشی: فیلتر و تبدیل با Gatherer.of Building Custom Gatherers: Filter and Transform Using Gatherer.of

  • ساخت Gathererهای سفارشی: منطق خاص دامنه با Gatherer.ofSequential Building Custom Gatherers: Domain-Specific Logic Using Gatherer.ofSequential

وب سرور ساده Simple Web Server

  • وب سرور ساده در عمل Simple Web Server in Action

کلاینت HTTP جدید New Http Client

  • HttpClient جدید - درخواست GET برای دریافت فیلم بر اساس ID New HttpClient - GET Request to Retrieve Movie by ID

  • تست JUnit برای HTTP Client JUnit Test for the HTTP Client

  • ساخت HTTPClient در حالت Asynchronous (ناهمگام) Build HTTPClient in Asynchronous Mode

  • ساخت HTTP Client - درخواست GET برای دریافت تمام فیلم‌ها Build HTTP Client - GET Request to Retrieve All Movies

سیستم ماژولار پلتفرم جاوا (JPMS) Java Platform Module System (JPMS)

  • مقدمه‌ای بر JPMS Introduction to JPMS

  • ساخت یک اپلیکیشن جاوا با استفاده از JPMS Build a Java App Using JPMS

  • کار با چندین ماژول Working with Multiple Modules

  • کار با چندین ماژول به صورت Transitive Working with Multiple Modules - Transitively

  • ماژول‌های بدون نام (Unnamed) و ماژول‌های خودکار (Automatic) Unnamed Modules and Automatic Modules

نمایش نظرات

آموزش جاوا مدرن - تسلط بر ویژگی‌های جاوا ۸ تا جاوا ۲۵ [ویدئویی]
جزییات دوره
15h 49m
144
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dilip Sundarraj Dilip Sundarraj

Tech Savvy، مهندس نرم افزار

سلام، من دیلیپ هستم.

من یک مهندس نرم افزار هستم و از سال 2008 برنامه های کاربردی نرم افزار می سازم.

من از سال 2016 تدریس آنلاین را تجربه کرده ام و پیوند کانال یوتیوب من در اینجا پیوست شده است.

برای به‌روزرسانی‌های بیشتر در کانال من مشترک شوید.

https://www.youtube.com/user/dilipthelip1